{"version":3,"file":"static/chunks/pages/[team]/content/articles/[slug]-537dc23df7b69bd7.js","mappings":"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","sources":["webpack://_N_E/?6792","webpack://_N_E/./src/pages/[team]/content/articles/[slug].tsx","webpack://_N_E/../../packages/ui/src/ErrorHandling/index.tsx","webpack://_N_E/../../packages/ui/src/ThemeWrapper/index.tsx","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/[team]/content/articles/[slug]\",\n function () {\n return require(\"private-next-pages/[team]/content/articles/[slug].tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/[team]/content/articles/[slug]\"])\n });\n }\n ","import React, { useMemo, useState } from \"react\";\n\nimport { useDocumentTitle } from \"@uidotdev/usehooks\";\nimport { NextPage } from \"next\";\nimport dynamic from \"next/dynamic\";\nimport { useSearchParams } from \"next/navigation\";\n\nimport { sizeMaps } from \"lib/dfp\";\nimport { ErrorBoundary } from \"ui/src/ErrorHandling\";\nimport { ThemeWrapper } from \"ui/src/ThemeWrapper\";\nimport { useUserContext } from \"utils/context/UserDetailsContext\";\nimport { getPostSlug } from \"utils/helpers/contentUtils\";\n\nimport ArticleSkeleton from \"@/components/skeletons/Article\";\nimport Page from \"@/layouts/BasePage\";\n\nimport type { SiteProps } from \"utils/types\";\nimport type { AdSlotsMap } from \"utils/types/ads\";\nimport type { ImagePost } from \"utils/types/content\";\n\nconst PostsScroller = dynamic(\n () => import(\"@/components/Content/PostsScroller\"),\n { ssr: false, loading: () => }\n);\n\ninterface Props extends SiteProps {\n post: ImagePost;\n}\n\nconst genericAds: AdSlotsMap = {\n dflex1: {\n adUnit: `/TPL_Article_Desk_MPU_300_3`,\n size: sizeMaps.flexBoxLarge,\n divId: \"div-gpt-ad-1691706922011-0\",\n },\n mflex1: {\n adUnit: `/TPL_Article_Mobile_MPU_320_1`,\n size: sizeMaps.mobile,\n divId: \"div-gpt-ad-1691708145953-0\",\n },\n};\n\nconst getTeamAds = (teamName: string): AdSlotsMap => ({\n dflex1: {\n adUnit: `/TPL_${teamName}_Article_Desk_MPU_300_3`,\n size: sizeMaps.flexBoxLarge,\n divId: \"div-gpt-ad-1696021201921-0\",\n },\n mflex1: {\n adUnit: `/TPL_${teamName}_Article_Mobile_Leaderboard_320`,\n size: sizeMaps.mobile,\n divId: \"div-gpt-ad-1696021405151-0\",\n },\n});\n\nconst ImagePostPage: NextPage = ({ post, team, ...props }) => {\n const search = useSearchParams();\n const { userGroupWithPermissions, userStatus } = useUserContext();\n\n const [currentPostTitle, setCurrentPostTitle] = useState(post.title);\n useDocumentTitle(`${currentPostTitle} - ${team.shortName}`);\n\n const highlighted = useMemo(() => search.get(\"highlighted\") === \"true\", []);\n\n return (\n \n \n \n {!userGroupWithPermissions?.id && userStatus === \"authenticated\" ? (\n \n ) : (\n \n )}\n \n \n \n );\n};\n\nexport default ImagePostPage;\n\nexport async function getStaticProps({ params }) {\n const { slug, team } = params;\n\n const { fetchSiteProps } = await import(\"@/utils/fetchers\");\n const siteProps = await fetchSiteProps(team);\n\n if (siteProps.team) {\n const { getContentService } = await import(\"api/content-service\");\n const post = await getContentService()\n .posts(siteProps.team.shortName)\n .getImagePostBySlug(slug);\n\n if (post) {\n return { props: { post, ...siteProps }, revalidate: 60 };\n }\n }\n\n return { notFound: true };\n}\n\nexport async function getStaticPaths() {\n const { getContentService } = await import(\"api/content-service\");\n const { imagePosts } = await getContentService().posts().getAllImagePosts();\n\n const { getSiteService } = await import(\"api/site-service\");\n const allTeams = await getSiteService().teams().fetchAll();\n\n const postPaths = imagePosts\n .map((post) => {\n return allTeams.find((t) => t.shortName === post.team.team)\n ? {\n params: {\n team: post.team.team.toLowerCase(),\n slug: getPostSlug(post),\n },\n }\n : null;\n })\n .filter((p: { params: { team: string; slug: string } } | null) => !!p);\n\n return {\n paths: postPaths ?? [],\n fallback: \"blocking\",\n };\n}\n","import React, { Component } from \"react\";\n\nimport { Box } from \"@mui/material\";\n\nimport type { ErrorInfo, ReactNode } from \"react\";\n\ninterface Props {\n children: ReactNode;\n}\n\ninterface State {\n error: Error;\n errorInfo: ErrorInfo;\n}\n\n// This component is used to catch errors in the application and display an error message for that component instead of the whole application crashing.\nexport class ErrorBoundary extends Component {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(props: any) {\n super(props);\n this.state = { error: null, errorInfo: null };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n // Catch errors in any components below and re-render with error message\n this.setState({\n error,\n errorInfo,\n });\n // You can also log error messages to an error reporting service here\n }\n\n render() {\n if (this.state.errorInfo) {\n // Error path\n return (\n \n

Something went wrong.

\n
\n {this.state.error && this.state.error.toString()}\n
\n {this.state.errorInfo.componentStack}\n
\n
\n );\n }\n\n // Normally, just render children\n return this.props.children;\n }\n}\n","import { useMemo, useEffect, useRef, type PropsWithChildren } from \"react\";\n\nimport { ThemeProvider } from \"@mui/system\";\n\nimport { useThemeContext } from \"theme/context/base\";\nimport { setThemeClasses } from \"theme/context/tailwind\";\nimport { siteTheme, baseTheme } from \"theme/mui-theme\";\n\ninterface Props {\n team?: string;\n mode?: \"light\" | \"dark\";\n}\n\nexport const ThemeWrapper = ({\n children,\n team,\n mode,\n}: PropsWithChildren) => {\n const { themes, mode: themeMode } = useThemeContext();\n const ref = useRef(null);\n\n const customMode = mode ?? themeMode;\n\n const theme = useMemo(\n () =>\n themes ? siteTheme(themes, customMode, team) : baseTheme(customMode),\n [themes, team, customMode]\n );\n\n useEffect(() => {\n setThemeClasses(customMode, themes, team, ref.current);\n }, [customMode, themes, team]);\n\n return (\n \n {children}\n \n );\n};\n"],"names":["window","__NEXT_P","push","__webpack_require__","PostsScroller","dynamic","Promise","all","e","then","bind","ssr","loading","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","ArticleSkeleton","genericAds","dflex1","adUnit","size","sizeMaps","flexBoxLarge","divId","mflex1","mobile","getTeamAds","concat","teamName","__webpack_exports__","post","team","props","param","search","useSearchParams","userGroupWithPermissions","userStatus","useUserContext","currentPostTitle","setCurrentPostTitle","useState","title","useDocumentTitle","shortName","highlighted","useMemo","get","ThemeWrapper","undefined","slug","Page","breadCrumbsProps","currentPage","override","Articles","Article","ErrorBoundary","id","adSlots","Component","componentDidCatch","error","errorInfo","setState","render","state","jsxs","Box","h2","details","style","whiteSpace","toString","br","componentStack","children","constructor","mode","themes","themeMode","useThemeContext","ref","useRef","customMode","theme","siteTheme","baseTheme","useEffect","setThemeClasses","current","span","className","ThemeProvider"],"sourceRoot":""}